#include <stdio.h>

int main()
{
    int a = 0;
    //p可以指向一个int类型的地址，但不可以通过*P的方式来修改这个内存的值
    const int *p = &a;//指向常量的指针
    //*p = 10;
    a = 10;
    printf("%d\n", *p);

    //C语言中const是有问题的，因为可以通过指针变量间接的修改const常量的值
    //所以在c语言中用#define常量的时候更多
    
    const int b = 100;//指向常量的指针

    int *p1;
    p1 = (int *)&b;
    *p1 = 0;
    printf("b = %d\n", b);

    int *const p2 = &a;//常量指针

    //p2是一个常量指针，p2只能指向一个固定的一个变量地址，
    //但是可以通过*p2读这个变量的值


    return 0;
}

